package com.ptbuy.pdfview;

import android.content.Intent;
import android.content.res.Configuration;
import android.content.res.Resources;
import android.os.Bundle;
import android.view.View;
import android.widget.TextView;

import androidx.appcompat.app.AppCompatActivity;

import com.joanzapata.pdfview.PDFView;
import com.joanzapata.pdfview.listener.OnPageChangeListener;
import com.ptbuy.R;

import java.io.IOException;
import java.security.NoSuchAlgorithmException;

public class MyPDFView extends AppCompatActivity implements OnPageChangeListener {

    private TextView mBack, mHeadTitle, mCurrentPage;
    private PDFView pdfView;


    String fileName;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_pdf_view);
        mBack = (TextView) findViewById(R.id.user_back);
        mBack.setOnClickListener(mBackOnclickListener);
        mHeadTitle = (TextView) findViewById(R.id.head_title);

        Intent intent = getIntent();
        String title = intent.getExtras().getString("title");
        fileName = intent.getExtras().getString("fileName");

        mHeadTitle.setText(title);
        mCurrentPage = (TextView) findViewById(R.id.current_page);
        pdfView = (PDFView) findViewById(R.id.pdfView);
        try {
            CopyPDF2Mobile();
        } catch (NoSuchAlgorithmException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }

    private TextView.OnClickListener mBackOnclickListener = new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            finish();
        }
    };

    private void CopyPDF2Mobile() throws IOException, NoSuchAlgorithmException {
//        File file = new File(Constants.apkPath + File.separator + fileName);
//        InputStream inputStream = getAssets().open(fileName);
//        String originMd5 = MD5.getFileMD5(inputStream);
//        boolean isNeedCopy = false;
//        if (!file.exists()) {
//            isNeedCopy = true;
//        } else {
//            FileInputStream fileInputStream = new FileInputStream(file);
//            String md5 = MD5.getFileMD5(fileInputStream);
//            if (!md5.equals(originMd5))
//                isNeedCopy = true;
//        }
//        if (isNeedCopy) {
//            inputStream = getAssets().open(fileName);
//            OutputStream outputStream = new FileOutputStream(file.getAbsolutePath());
//            byte[] buffer = new byte[1024];
//            int length = 0;
//            while ((length = inputStream.read(buffer)) != -1) {
//                outputStream.write(buffer, 0, length);
//            }
//            outputStream.flush();
//            outputStream.close();
//            inputStream.close();
//        }
//        pdfView.fromFile(file)
//                .defaultPage(1)//默认展示第一页
//                .onPageChange(this)//监听页面切换
//                .load();

        // 加载本地 PDF 文件
        // 如果是网络 PDF 文件，可以使用 Glide 或其他库下载文件后再显示
        pdfView.fromAsset(fileName) // 或者使用 fromFile()、fromUri()等方法
                .defaultPage(1)         //设置默认显示第1页
                .onPageChange(this)     //设置翻页监听
                .showMinimap(true)     //pdf放大的时候，是否在屏幕的右上角生成小地图
                .swipeVertical(true)  //pdf文档翻页是否是垂直翻页，默认是左右滑动翻页
                .enableSwipe(true)   //是否允许翻页，默认是允许翻
                // .pages( 2 , 3 , 4 , 5  )  //把2 , 3 , 4 , 5 过滤掉
                .load();
    }

    @Override
    public void onPageChanged(int page, int pageCount) {
        mCurrentPage.setText(page + "/" + pageCount);
    }

    @Override
    public Resources getResources() {
        Resources res = super.getResources();
        Configuration config = new Configuration();
        config.setToDefaults();
        res.updateConfiguration(config, res.getDisplayMetrics());
        return res;
    }
}